//
//  DataSource.m
//  轻量级TableView
//
//  Created by 徐益智 on 16/4/14.
//  Copyright © 2016年 Vdianjing. All rights reserved.
//

#import "DataSource.h"

#import "TableViewCell.h"

@implementation DataSource

- (instancetype)init
{
    return nil;
}

- (instancetype)initWithItem:(NSArray *)item cellIdentifier:(NSString *)cellIdentifier cellConfigBlock:(cellConfigBlock)config
{
    self = [super init];
    if (!self) {
        return nil;
    }
    
    _itemArray = item;
    _cellBlock = config;
    _cellIdentifier = cellIdentifier;
    
    return self;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.itemArray.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:_cellIdentifier];
    if (cell == nil) {
        cell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:_cellIdentifier];
    }
    
    id item = self.itemArray[indexPath.row];
    self.cellBlock(cell, item, indexPath);
    
    return cell;
}

@end
